// pages/myselfMessage/myselfMessage.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {
      avatar: '/pages/demo3/imge/WDL.jpg',
      name: '你的昵称',
      gender: '不详',
      region: '******',
      phone: '**********',
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadUserInfo();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.loadUserInfo();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  /**
   * 加载用户信息
   */
  loadUserInfo() {
    const userInfo = wx.getStorageSync('userInfo');
    if (userInfo) {
      this.setData({
        userInfo: userInfo
      });
    } else {
      // 新增：userInfo不存在时重置为未登录默认信息
      this.setData({
        userInfo: {
          avatar: '/pages/demo3/imge/WDL.jpg',
          name: '你的昵称',
          gender: '不详',
          region: '******',
          phone: '**********',
        }
      });
    }
  },

  /**
   * 保存用户信息
   */
  saveUserInfo() {
    wx.setStorageSync('userInfo', this.data.userInfo);
    // 触发全局事件，通知其他页面更新
    getApp().globalData.userInfo = this.data.userInfo;
  },

  /**
   * 更换头像
   */
  changeAvatar() {
    wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        const tempFilePath = res.tempFiles[0].tempFilePath;
        this.setData({
          'userInfo.avatar': tempFilePath
        });
        this.saveUserInfo();
        wx.showToast({
          title: '头像更新成功',
          icon: 'success'
        });
      }
    });
  },

  /**
   * 编辑名字
   */
  editName() {
    wx.showModal({
      title: '编辑名字',
      content: '请输入新的名字',
      editable: true,
      placeholderText: this.data.userInfo.name,
      success: (res) => {
        if (res.confirm && res.content && res.content.trim()) {
          this.setData({
            'userInfo.name': res.content.trim()
          });
          this.saveUserInfo();
          wx.showToast({
            title: '名字更新成功',
            icon: 'success'
          });
        } else if (res.confirm && (!res.content || !res.content.trim())) {
          wx.showToast({
            title: '名字不能为空',
            icon: 'error'
          });
        }
      }
    });
  },

  /**
   * 编辑性别
   */
  editGender() {
    wx.showActionSheet({
      itemList: ['男', '女', '不详'],
      success: (res) => {
        const genderList = ['男', '女', '不详'];
        this.setData({
          'userInfo.gender': genderList[res.tapIndex]
        });
        this.saveUserInfo();
        wx.showToast({
          title: '性别更新成功',
          icon: 'success'
        });
      }
    });
  },

  /**
   * 编辑地区
   */
  editRegion() {
    wx.showModal({
      title: '编辑地区',
      content: '请输入新的地区',
      editable: true,
      placeholderText: this.data.userInfo.region,
      success: (res) => {
        if (res.confirm && res.content && res.content.trim()) {
          this.setData({
            'userInfo.region': res.content.trim()
          });
          this.saveUserInfo();
          wx.showToast({
            title: '地区更新成功',
            icon: 'success'
          });
        } else if (res.confirm && (!res.content || !res.content.trim())) {
          wx.showToast({
            title: '地区不能为空',
            icon: 'error'
          });
        }
      }
    });
  },

  /**
   * 编辑手机号
   */
  editPhone() {
    wx.showModal({
      title: '编辑手机号',
      content: '请输入新的手机号',
      editable: true,
      placeholderText: this.data.userInfo.phone,
      success: (res) => {
        if (res.confirm && res.content && res.content.trim()) {
          // 简单的手机号验证
          const phoneRegex = /^1[3-9]\d{9}$/;
          if (phoneRegex.test(res.content.trim())) {
            this.setData({
              'userInfo.phone': res.content.trim()
            });
            this.saveUserInfo();
            wx.showToast({
              title: '手机号更新成功',
              icon: 'success'
            });
          } else {
            wx.showToast({
              title: '请输入正确的手机号',
              icon: 'error'
            });
          }
        } else if (res.confirm && (!res.content || !res.content.trim())) {
          wx.showToast({
            title: '手机号不能为空',
            icon: 'error'
          });
        }
      }
    });
  },
})